package com.hanxing.kxcharge.module.operations.controller.admin.equipmentconnector.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 电枪管理新增/修改 Request VO")
@Data
public class EquipmentConnectorSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29835")
    private Long id;

    @Schema(description = "电站id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5553")
    @NotNull(message = "电站id不能为空")
    private Long stationId;

    @Schema(description = "电桩id", example = "8047")
    private Long equipmentId;

    @Schema(description = "设备品牌id", requiredMode = Schema.RequiredMode.REQUIRED, example = "25193")
    @NotNull(message = "设备品牌id不能为空")
    private Long equipmentBrandId;

    @Schema(description = "设备型号id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14603")
    @NotNull(message = "设备型号id不能为空")
    private Long equipmentModelId;

    @Schema(description = "运营商id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30930")
    @NotNull(message = "运营商id不能为空")
    private Long orgId;

    @Schema(description = "操作人id", example = "6282")
    private Long operatorId;

    @Schema(description = "电枪编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "电枪编号不能为空")
    private String connectorCode;

    @Schema(description = "电枪简短编号")
    private String shortcutCode;

    @Schema(description = "电枪名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "电枪名称不能为空")
    private String connectorName;

    @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否启用不能为空")
    private Boolean isEnableStart;

    @Schema(description = "工作状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "工作状态不能为空")
    private Integer workStatus;

    @Schema(description = "操作时间")
    private LocalDateTime operationDate;

    @Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "版本号不能为空")
    private String version;

    @Schema(description = "是否单独价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "24991")
    @NotNull(message = "是否单独价格不能为空")
    private Boolean isAlonePrice;

}